<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    var kthGrammar = function (N, K) {
      if (N === 1) return 0;

      // 计算当前行的长度：2的N-1次方
      var length = 2 ** (N - 1);

      // 如果K大于长度的一半，就是K所在位置是后半段
      if (K > length / 2) {

        // 先得到上一行的值，位置是K相对于后半段的位置
        var val = kthGrammar(N - 1, K - length / 2);

        // 然后把值反过来
        return val === 0 ? 1 : 0;
      }
      // 否则前半部分
      else {

        // 值就是上一行K位置的值
        return kthGrammar(N - 1, K);
      }
    };
    console.log(kthGrammar(n = 2, k = 1))
  </script>
</body>

</html>